package com.mrdeer.merchant.api;

import com.mrdeer.common.domain.BusinessException;
import com.mrdeer.merchant.api.dto.AppDTO;

import java.util.List;

/**
 * 应用管理接口
 *
 * @author ：xie jianchu
 * @date ：Created in 2020/9/9 0009 17:05
 */
public interface AppService {
    /**
     * 应用的信息，商户ID
     *
     * @param merchantId 商户ID
     * @param appDTO     应用信息
     * @return 创建成功的返回
     * @throws BusinessException
     */
    AppDTO createApp(Long merchantId, AppDTO appDTO) throws BusinessException;

    /**
     * 根据商户ID查询应用列表
     *
     * @param merchantId
     * @return
     * @throws BusinessException
     */
    List<AppDTO> queryAppByMerchantId(Long merchantId) throws BusinessException;

    /**
     * 根据应用ID查询应用信息
     *
     * @param appId
     * @return
     * @throws BusinessException
     */
    AppDTO getAppByAppId(String appId) throws BusinessException;

    /**
     * 校验应用是否属于商户
     *
     * @param appId      应用ID
     * @param merchantId 商户ID
     * @return
     */
    Boolean queryAppInMerchant(String appId, Long merchantId);
}
